#ifndef EXECCMD_H
#define EXECCMD_H

#include <string>

	enum cmdtype {
		T_COMMAND = 1,
		T_SETTINGS,
		T_CUSTOM0,
		T_CUSTOM1,
		T_CUSTOM2,
		T_CUSTOM3,
		T_CUSTOM4,
		T_CUSTOM5,
		T_CUSTOM6,
		T_CUSTOM7,
		T_CUSTOM8,
		T_CUSTOM9
	};

	enum cmdargtype {
		A_NOARG = 1,
		A_INT,
		A_FLOAT,
		A_STRING
	};
	
	struct cmdsettings
	{
		std::string name;
		cmdargtype argtype;
		int argnumber;
		float argfloat;
		std::string args;
	};

	class Execcmd
	{
		public:
			Execcmd();
			~Execcmd();

			cmdsettings gen(const std::string& name);
			cmdsettings gen(const std::string& name, const std::string& str);
			cmdsettings gen(const std::string& name, float floatingpoint);
			cmdsettings gen(const std::string& name, int ul);
		private:
	};

#endif
